home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / usr / share / jockey / handlers / nvidia.pyc (.txt) < prev    next >
Python Compiled Bytecode  |  2009-10-28  |  5KB  |  139 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.6)
  3.  
  4. import logging
  5. from jockey.handlers import KernelModuleHandler
  6. from jockey.xorg_driver import XorgDriverHandler
  7. from jockey.oslib import OSLib
  8. import XKit
  9. from NvidiaDetector.nvidiadetector import NvidiaDetection
  10.  
  11. def _(x):
  12.     return x
  13.  
  14.  
  15. class NvidiaDriver(XorgDriverHandler):
  16.     
  17.     def __init__(self, backend):
  18.         self._free = False
  19.         XorgDriverHandler.__init__(self, backend, 'nvidia', None, 'nvidia', 'nv', {
  20.             'NoLogo': 'True' }, add_modules = [
  21.             'glx'], disable_modules = [], remove_modules = [
  22.             'dri',
  23.             'GLcore'], name = _('NVIDIA accelerated graphics driver'), description = _('3D-accelerated proprietary graphics driver for NVIDIA cards.'), rationale = _('This driver is required to fully utilise the 3D potential of NVIDIA graphics cards, as well as provide 2D acceleration of newer cards.\n\nIf you wish to enable desktop effects, this driver is required.\n\nIf this driver is not enabled, you will not be able to enable desktop effects and will not be able to run software that requires 3D acceleration, such as some games.'))
  24.         self._recommended = None
  25.         self._do_rebind = False
  26.  
  27.     
  28.     def id(self):
  29.         '''Return an unique identifier of the handler.'''
  30.         if self.package:
  31.             self.version = self.package.split('-')[-1]
  32.             i = 'xorg:' + self.module + '-' + self.version
  33.         else:
  34.             i = 'xorg:' + self.module
  35.         if self.driver_vendor:
  36.             i += ':' + self.driver_vendor.replace(' ', '_')
  37.         
  38.         return i
  39.  
  40.     
  41.     def available(self):
  42.         if self.package:
  43.             self.version = self.package.split('-')[-1]
  44.             if int(self.version) < 96:
  45.                 logging.debug('NVIDIA legacy driver not currently supported')
  46.                 return False
  47.         
  48.         return XorgDriverHandler.available(self)
  49.  
  50.     
  51.     def enable_config_hook(self):
  52.         if len(self.xorg_conf.globaldict['Screen']) == 0:
  53.             screen = self.xorg_conf.makeSection('Screen', identifier = 'Default Screen')
  54.         
  55.         self.xorg_conf.addOption('Screen', 'DefaultDepth', '24', position = 0, prefix = '')
  56.         if self.version == '96':
  57.             self.xorg_conf.addOption('Screen', 'AddARGBGLXVisuals', 'True', optiontype = 'Option', position = 0)
  58.         
  59.         if self.version == '71':
  60.             for opt in ('AllowGLXWithComposite', 'UseEdidFreqs'):
  61.                 self.xorg_conf.addOption('Device', opt, 'True', optiontype = 'Option', position = 0)
  62.             
  63.         
  64.         it = 0
  65.         for section in self.xorg_conf.globaldict['Files']:
  66.             
  67.             try:
  68.                 self.xorg_conf.removeOption('Files', 'RgbPath', position = it)
  69.             except XKit.xorgparser.OptionException:
  70.                 pass
  71.  
  72.             it += 1
  73.         
  74.         module_sections = self.xorg_conf.globaldict['Module']
  75.         have_modules = len(module_sections) > 0
  76.         if have_modules:
  77.             for section in module_sections:
  78.                 self.xorg_conf.removeOption('Module', 'Disable', value = 'dri2', position = section)
  79.             
  80.         
  81.  
  82.     
  83.     def disable(self):
  84.         XorgDriverHandler.disable(self)
  85.         if self.package:
  86.             flavour = self.package.split('-')[-1]
  87.             kernel_source = 'nvidia-%s-kernel-source' % flavour
  88.             self.backend.remove_package(kernel_source)
  89.             if int(flavour) >= 180:
  90.                 self.backend.remove_package('nvidia-%s-libvdpau' % flavour)
  91.             
  92.             
  93.             try:
  94.                 self.backend.remove_package('nvidia-settings')
  95.             except SystemError:
  96.                 pass
  97.             except:
  98.                 None<EXCEPTION MATCH>SystemError
  99.             
  100.  
  101.         None<EXCEPTION MATCH>SystemError
  102.         return False
  103.  
  104.     
  105.     def recommended(self):
  106.         if self._recommended == None:
  107.             nd = NvidiaDetection()
  108.             self._recommended = self.package == nd.selectDriver()
  109.         
  110.         return self._recommended
  111.  
  112.     
  113.     def enabled(self):
  114.         
  115.         try:
  116.             devices = self.xorg_conf.globaldict['Device']
  117.             
  118.             try:
  119.                 driver = self.xorg_conf.getDriver('Device', 0)
  120.             except (XKit.xorgparser.OptionException, XKit.xorgparser.SectionException):
  121.                 driver = None
  122.  
  123.             if len(devices) == 0 or driver != 'nvidia':
  124.                 return False
  125.         except AttributeError:
  126.             return False
  127.  
  128.         return KernelModuleHandler.enabled(self)
  129.  
  130.     
  131.     def enables_composite(self):
  132.         '''Return whether this driver supports the composite extension.'''
  133.         if KernelModuleHandler.module_loaded('nvidia'):
  134.             logging.debug('enables_composite(): already using nvidia driver from nondefault package')
  135.             return False
  136.         return True
  137.  
  138.  
  139.